#!/bin/bash

SESSION_NAME="adkr_test"
APP_NAME="./adkr_node"

# 检查 tmux 会话是否已存在
tmux has-session -t $SESSION_NAME 2>/dev/null

if [ $? != 0 ]; then
    echo "正在创建新的 tmux 会话 '$SESSION_NAME'..."

    # 启动一个新的、分离的 tmux 会话，并运行第一个节点
    tmux new-session -d -s $SESSION_NAME -n "Node 0" "$APP_NAME -id 0"

    # 将窗口分割成 2x2 的网格
    tmux split-window -h -t $SESSION_NAME:0 # 水平分割，创建右侧窗格
    tmux split-window -v -t $SESSION_NAME:0.0 # 垂直分割左上角窗格
    tmux split-window -v -t $SESSION_NAME:0.2 # 垂直分割右上角窗格

    # 在新的窗格中分别启动其他节点
    tmux send-keys -t $SESSION_NAME:0.1 "$APP_NAME -id 2" C-m
    tmux send-keys -t $SESSION_NAME:0.2 "$APP_NAME -id 1" C-m
    tmux send-keys -t $SESSION_NAME:0.3 "$APP_NAME -id 3" C-m

    # 调整窗格布局为平均分配空间
    tmux select-layout -t $SESSION_NAME:0 tiled
fi

echo "附加到 tmux 会话: tmux attach -t $SESSION_NAME"
# 自动附加到会话
tmux attach-session -t $SESSION_NAME